Cloud computing is Internet-based computing, where shared server resources, software, and information are provided to client devices on demand. The server resources, for example, include data storage, processing capabilities, and network bandwidth. The resources are often scalable and virtualized, so that details of resource provisioning are hidden from the cloud computing consumers, who no longer have need for expertise in, or control over, the technology that provides the shared server resources.
Cloud application platforms provide facilities for transitioning legacy applications to cloud computing infrastructures, and providing security, control and compliance over the applications and data in the cloud computing infrastructures. The virtual datacenters are exposed to users through a Web-based portal and the users are provided with a catalog of Information Technology (IT) services that can be deployed within the virtual datacenter. Applications and data can be segmented into trusted zones and security policies can be implemented and monitored for IT compliance.
Enterprises have a keen interest in storing backups in cloud storage to achieve disaster recovery (DR) as well for long term retention for compliance reasons while keeping storage costs to bare minimum. Companies offering backup/restore solutions have been quick to offer solutions that offer tiered storage backed by cloud as well solutions that store backups in cloud. However, all such solutions inherently involve a vendor lock-in since backups stored by one backup vendor cannot be deciphered by a backup solution from another vendor. All this vendor lock-in goes against the interests of customers and clearly a solution is required that allows backup vendors to innovate and provide unique functionality for optimizing backups stored in cloud yet allow any backup software vendor to restore the backup.
In the past an attempt has been made to standardize the storage interface to store backups and read backups stored on various kinds of storage. However the interface deals with interfacing a persistent storage with the backup software. Typically, a backup vendor deploys agents on the client system/s to be backed up. These agents troll through file systems and identify modified files/directories that need to be backed up. Agents may also have data storage format intelligence and work with certain applications or infrastructure components to identify changed data. This changed data is then read, often deduplicated and then stored on the backup media server or shipped directly to cloud in a format, which is proprietary to the backup cloud vendor. During restore, a customer needs to use the restore software provided by the backup vendor to restore a backup. As a customer is locked in with a backup vendor or cloud storage provider.